package com.work4;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        //某商店想统计一下一天内所售出的商品以及商品的数量，请设计程序完成此需求,
        // 展示每个售出的商品名称和数量
        //  要求:通过键盘录入商品名称模拟售出的商品，
        //  录入一次表示商品售出一次，直到录入end结束,结束之后,将统计结果打印出来.运行结果如下:

        //分析 最终的结果是 商品名 数量  是一个整体的数据，所以使用Map集合
        //第一步 用一个 new ArrayList<String>()来装用户售出的
        ArrayList<String> goods = new ArrayList<>();
        Scanner scanner = new Scanner(System.in);
        while (true) {
            System.out.println("请输入您的售出商品名称");
            String goodsName = scanner.next();
            if(goodsName.equals("end")) { //结束输入
                break;
            } else {
                goods.add(goodsName);
            }
        }
        //此时goods存储了商家输入的所有的商品名称
        //第二步,创建一个hashMap集合来存储商品以及商品的数量的整体数据
        HashMap<String, Integer> goodsSaleInfo = new HashMap<>();
        //第三步遍历商品名称的集合，存进goodsSaleInfo
        //使用增强for循环进行遍历
        for (String good : goods) {
            //1.由于hashMap的key是不可重复的，
            //判断商品是不是第一次添加到goodsSaleInfo中，
            if(goodsSaleInfo.containsKey(good)) {
                goodsSaleInfo.put(good,goodsSaleInfo.get(good)+1);
            }else {
                goodsSaleInfo.put(good,1);
            }
        }
        //第四步 遍历map的内容
        goodsSaleInfo.forEach((k,v) -> System.out.println(k + "数量为" + v));
    }
}
